<nz-form-item>
  <nz-form-label [nzRequired]="ezFormItemConfiguration.required" *ngIf="ezFormItemConfiguration?.label"
    [nzSpan]="getItemLabelSpan()">
    {{ezFormItemConfiguration.label}}
  </nz-form-label>
  <nz-form-control [nzErrorTip]="errorTip" [nzValidateStatus]="control" [nzExtra]="''" [nzSpan]="getItemControlSpan()">
    <ng-container [ngSwitch]="ezFormItemConfiguration.type">
      <ng-container *ngSwitchCase="'input'">
        <ez-input></ez-input>
      </ng-container>
      <ng-container *ngSwitchCase="'number'">
        <ez-number></ez-number>
      </ng-container>
      <ng-container *ngSwitchCase="'select'">
        <ez-select></ez-select>
      </ng-container>
      <ng-container *ngSwitchCase="'radio'">
        <ez-radio></ez-radio>
      </ng-container>
      <ng-container *ngSwitchCase="'checkbox'">
        <ez-checkbox></ez-checkbox>
      </ng-container>
      <ng-container *ngSwitchCase="'datepicker'">
        <ez-datepicker></ez-datepicker>
      </ng-container>
      <ng-container *ngSwitchCase="'timepicker'">
        <ez-timepicker></ez-timepicker>
      </ng-container>
      <ng-container *ngSwitchCase="'cascader'">
        <ez-cascader></ez-cascader>
      </ng-container>
      <ng-container *ngSwitchCase="'textarea'">
        <ez-textarea></ez-textarea>
      </ng-container>
      <ng-container *ngSwitchCase="'switch'">
        <ez-switch></ez-switch>
      </ng-container>
      <ng-container *ngSwitchCase="'tree-select'">
        <ez-tree-select></ez-tree-select>
      </ng-container>
      <ng-container *ngSwitchDefault>未知控件</ng-container>
    </ng-container>
  </nz-form-control>

  <ng-template #errorTip>
    {{getErrorTip()}}
  </ng-template>
</nz-form-item>
